import pygame
from pygame.sprite import Sprite

class Bullet(Sprite):
    """一个对飞船发射的子弹进行管理的类"""

    def __init__(self,ai_settings,screen,ship):
        """在飞船所处的位置创建一个子弹对象"""
        super().__init__()
        self.screen = screen 

        #获取子弹的外接矩
        self.image = pygame.image.load("images/bullet1.png")
        self.rect = self.image.get_rect()

        #在（0，0）处创建一个表示子弹的矩形，再设置正确的位置
        self.rect.centerx = ship.rect.centerx
        self.rect.top = ship.rect.top

        #存储小数表示子弹的位置
        self.y = float(self.rect.y)

        self.speed_factor = ai_settings.bullet_speed_factor

    def update(self):
        """向上移动子弹"""
        #更新表示子弹位置的小数值
        self.y -= self.speed_factor
        #更新表示子弹rect的位置
        self.rect.y = self.y

    def blitme(self):
        """在屏幕上绘制子弹"""
        self.screen.blit(self.image,self.rect)
        
